package com.example.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/*
自定义注解
    定义：使用@interface
    定义属性：类名+名字()
    赋默认值：default + 默认值
    修饰：使用需要的元注解
 元注解
@Target：
    使用的目标对象：类型、属性、方法、形参、构造函数
    可用枚举属性值为TYPE、FIELD、METHOD、PARAMETER、CONSTRUCTOR 等
@Retention：
    需保留到的最后期限：源码、字节码、运行时阶段
    可用枚举属性值为SOURCE、CLASS、RUNTIME
@Documentation：是否需要输出到Javadoc
@Inherited：父类的注解[被@Inherited的注解]被子类继承
*/
    @Target(ElementType.TYPE)
    @Retention(RetentionPolicy.RUNTIME)
    public @interface MyAnnotation{
        String name() default "";
    }
